'''
1)使用lambda表达式判断两个数的最大值
2）列表数据按字典key的值排序。分别按name升序，按age降序排列
'''

max1 = lambda a, b: a if a >= b else b
print(f'较大值是：{max1(3, 5)}')

students = [
    {'name': 'TOM', 'age': 20},
    {'name': 'ROSE', 'age': 19},
    {'name': 'Jack', 'age': 22}
]
# sort(key=,reverse=):key根据哪个关键字排序，reverse(bool类型)升序或者降序,
# 默认为升序，若要降序的话，reverse=True
students.sort(key=lambda x: x['name'], reverse=True)
print(students)
# sorted(列表名，key=,reverse=):不改变原列表
print(sorted(students, key=lambda x: x['age'], reverse=True))
print(students)
# 先按age排序，age一样按name排序
students.sort(key=lambda x: (x['age'], x['name']), reverse=True)
print(students)

dict1 = {'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5, 'f': 6}
# 按value降序排序
sorted(dict1.items(), key=lambda item: item[1], reverse=True)
print(dict1)
# 先按value排，value一样的话按key排
print(sorted(dict1.items(), key=lambda x: (x[1], x[0])))
